[Josh Pieper] of mjbots Robotic Systems just released a major revision to his moteus open sourced brushless DC (BLDC) electric motor controller. The update adds a flexible I/O subsystem which significantly expands the kinds of feedback encoders and peripherals the controller can accept. In the video below the break, [Josh] walks through eleven different example configurations. If you prefer, these examples are also presented in article form on his blog.
The moteus controller originally came about when [Josh] was developing the quad A0, an open source dynamic quadruped robot, along the lines of the MIT Mini Cheetah or Boston Dynamics robotic dogs, and wasn’t satisfied that existing controllers could do the trick. It’s a compact 50 mm square board based on an STM32G4, has an integrated magnetic encoder, and accepts external sensor connections. Interfacing with the board is via CAN-FD using a register-based scheme. A Python GUI tool provides name-based register access via a logical tree structure as well as real-time telemetry plotting capabilities for diagnostic and configuration tasks.
If you are using BLDC motors in your projects, definitely check this out. Even if you’re not using a moteus controller, [Josh]’s demonstrations of the various encoder feedback technologies is very interesting and educational. The entire project is open source, and both the hardware and software design files can be found on the project’s GitHub repository. For some users, this may be a major factor, considering that the latest ODrive BLDC controller offering has become closed source.
We wrote about the mjbots quad A0 in 2019, and you can follow the moteus project over on Hackaday.io. We also found this interesting video by [Skyentific] comparing three popular open source BLCD controllers including the moteus (second video below the break). There’s also the SimpleFOC project we covered last year if you want to dig in and learn more about field-oriented control of BLDC motors. Thanks to [Androiddrew] for the tip.
Josh is very knowledgeable and eager to share his findings with everyone. He has put a huge amount of research into this project. I want to say huge thank you for that.
Yes the world of open source bldc controllers has shrunk, with odrive and vesc closing some aspects of their designs.
Final note one: should read Josh’s comments on the video by Skyentific. The comparison may present the moteus in unfavorable position because of default settings.
Thanks for the kind words!
Regarding Skyentific’s video: that is the experience he had, for sure. Despite any problems caused by the configuration at the time, the moteus firmware has improved a lot since then. It now has support for encoder filtering and torque bandwidth configuration, both of which can help with audible noise. I’ve been meaning to do a modern take on that experiment for a video and guess I should get around to it here.
Handy for those fixing their washing machines that use that kind of motor.
Good to see some competition in this area. I bought an ODrive a while back, and honestly it doesn’t work that well. I really want to like it but it is what it is.
I was looking for the schematics on GitHub, but was not able to find them. Could you tell me where they can be found?
https://github.com/mjbots/moteus/tree/main/hw/controller
Please be kind and respectful to help make the comments section excellent. (Comment Policy)
This site uses Akismet to reduce spam. Learn how your comment data is processed.
By using our website and services, you expressly agree to the placement of our performance, functionality and advertising cookies. Learn more